#ifndef _AIS_DOCK_WIDGET_
#define _AIS_DOCK_WIDGET_

#include "ais_info_model.h"
#include "ais_info_table_view.h"
#include "ais_filter_proxy_model.h"
#include <QtWidgets/QDockWidget>

#include "GeneratedFiles/ui_ais_dock_widget.h"

class ais_info_dock : public QDockWidget
{
    Q_OBJECT
public:
    ais_info_dock(QWidget * parent);

    QItemSelectionModel* get_select_model();
    ais_info_view * get_table_view();

public slots:
    void apply_ais_filter();
    void reset_ais_filter();

    void update_data();
    void currentRowChanged(const QModelIndex&current, const QModelIndex & previous);
    void hight_light_item(info_keys key);

    void reset();
signals:
    void select_mmsi(info_keys key);

private:
    ais_filter_proxy_model *filter_model;
    ais_info_model *ais_model;
    QItemSelectionModel *select_model;

    Ui::AisDockWidget ui;
};

#endif